// pages/detail/detail.js
import { detail } from '../../request/api_type'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    detailObj: {},
    addCart: false,
    standItem: [],
    count: 1
  },
  standItem: [],
  /* 点击加入购物车事件 */
  addShopCartTap() {
    if (this.data.addCart) {
      const attr = this.data.detailObj.attr || []
      if (this.standItem.length !== attr.length) {
        wx.showToast({
          title: "请选择完整规格",
          icon: "none"
        })
        return;
      }
      /* 加入购物车操作 */
      const cart = wx.getStorageSync("cart0717") || [];
      var detailObj = this.data.detailObj;
      const index = cart.findIndex(ele => {
        /* 规格判断 */
        return ele._id === detailObj._id;
      })
      if (index === -1) {/* 去重 */
        detailObj.checked = false;
        detailObj.count = this.data.count;
        detailObj.attrDetail = this.standItem;
        cart.push(detailObj);
      } else {
        var attrType = cart[index].attrDetail.every((ele, ind) => {
          // console.log(ele, this.data.standItem[ind])
          return ele === this.data.standItem[ind]
        })/* 判断同个商品的规格是否相同 */
        if (attrType) {
          cart[index].count += 1;
        } else {
          detailObj.checked = false;
          detailObj.count = this.data.count;
          detailObj.attrDetail = this.standItem;
          cart.push(detailObj);
        }
      }
      wx.showToast({
        title: "添加成功"
      })
      wx.setStorageSync("cart0717", cart);
      this.setData({
        addCart: false
      })
    } else {
      const addCart = !this.data.addCart
      this.setData({
        addCart
      })
    }
  },
  /* 前往购物车页面 */
  goCart() {
    wx.switchTab({
      url: "/pages/cart/cart"
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    const { id } = options
    this.getDetail(id)
  },
  /* 蒙层点击弹出框消失 */
  hideModul() {
    this.setData({
      addCart: false
    })
  },
  /* 规格选择点击事件 */
  modulItem(e) {
    var { item, index } = e.currentTarget.dataset;
    /* 指定某个数组的下标放值 */
    this.standItem[index] = item;
    console.log(this.standItem)
    this.setData({
      standItem: this.standItem
    })
  },
  /* 获取详情页数据 */
  getDetail(id) {
    detail({ id }).then(res => {
      this.setData({
        detailObj: res.data.result
      })
    })
  },
  /* 数量事件 */
  setCountMisEvent() {
    if (this.data.count > 1) {
      const count = this.data.count - 1
      this.setData({
        count
      })
    }

  },
  setCountAddEvent() {
    const count = this.data.count + 1
    this.setData({
      count
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})